package leetcode.leetcode_hot100;

/**
 * @ClassName T0309
 * @Description 最佳买卖股票时机含冷冻期
 * @Author Fanxc
 * @DATE 2021/6/21 22:50
 * @Version 1.0
 */
public class T0309 {
    class Solution {
        public int maxProfit(int[] prices) {
            if(prices.length==0){
                return 0;
            }
            int n=prices.length;
            int[][] f=new int[n][3];
            f[0][0]=-prices[0];
            f[0][1]=0;
            f[0][2]=0;
            for(int i=1;i<n;i++){
                f[i][0]=Math.max(f[i-1][0],f[i-1][2]-prices[i]);
                f[i][1]=f[i-1][0]+prices[i];
                f[i][2]=Math.max(f[i-1][1],f[i-1][2]);
            }
            return Math.max(f[n-1][1],f[n-1][2]);
        }
    }

}
